package main

import (
	"log"
	"mytinydb/config"
	"mytinydb/server"
	"os"
	"os/signal"
	"syscall"
)



func main() {
	sig := make(chan os.Signal, 1)
	signal.Notify(sig, os.Interrupt, os.Kill, syscall.SIGHUP,
		syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT)

	var cfg config.DbConfig
	cfg = config.DefaultConfig()
	server, err := server.NewServer(cfg)
	if err != nil {
		log.Fatal("打开数据库出错")
	}
	go server.Listen(cfg.Addr, cfg.Port)

	<-sig // 一旦收到上面的其中一种信号，就会执行这句话，然后下面的stop函数中会close s.done，就会使得 Listen这个携程断掉
	server.Stop()
	log.Println("数据库退出")
}


